package ejercicio3;

public class Monitor {
	
	private int recursos;
	
	public Monitor() {
		super();
		this.recursos = 0;
	}

	public synchronized void producir(long id,Thread th) throws InterruptedException{
		while(recursos==10){
			System.out.println("Buffeer lleno");
			wait();
		}
		System.out.println("El productor "+id+" ha empezado a introducir nuevos datos");
		th.suspend();
		recursos++;
		System.out.println("El Productor "+id+" ha introducido nuevos datos en el Buffer "+recursos);
		notifyAll();
	}
	
	public synchronized void consumir(long id,Thread th) throws InterruptedException{
		while(recursos==0){
			System.out.println("Buffer vacio");
			wait();
		}
		System.out.println("El consumidor "+id+" ha empezado a extraer datos");
		th.suspend();
		recursos--;
		System.out.println("El consumidor "+id+" a extraido datos del Buffer "+recursos);
		notifyAll();
	}

}
